package message

// 定义消息类型常量
const (
	LoginMesType       = "LoginMes"
	LoginResMesType    = "LoginResMes"
	RegisterMesType    = "RegisterMes"
	RegisterResMesType = "RegisterResMes"
	UserOnlineMesType  = "UserOnlineMes"
	SmsGroupEmitMesType = "SmsGroupEmitMes"
	SmsGroupEmitResMesType = "SmsGroupEmitResMes"
)

// 用户状态
const (
	Online = iota
	Offline
)

type Message struct {
	Type string `json:"type"` // 消息类型
	Data string `json:"data"` // 消息内容
}

// 定义两个消息
type LoginMes struct {
	UserId   int    `json:"user_id"`   // 用户id
	UserPwd  string `json:"user_pwd"`  // 用户密码
	UserName string `json:"user_name"` // 用户名
}

type LoginResMes struct {
	Code  int    `json:"code"`  // 返回状态妈 500 表示该用户未注册 200 表示登陆成功
	OnlineIds []int `json:"online_ids"` // 在线用户
	Error string `json:"error"` // 返回错误信息
}

// 注册发送消息
type RegisterMes struct {
	UserId   int    `json:"user_id"`
	UserPwd  string `json:"user_pwd"`
	UserName string `json:"user_name"`
}

// 注册返回消息
type RegisterResMes struct {
	Code  int    `json:"code"`
	Error string `json:"error"`
}

// 用户上线消息
type UserOnlineMes struct {
	UserId   int
	UserName string
	Status   int
}

// 群发消息
type SmsGroupEmit struct {
	UserId int
	Content string
}

// 发送消息
type SmsGroupEmitMes struct {
	SmsGroupEmit
}
// 接收到的群发消息
type SmsGroupEmitResMes struct {
	SmsGroupEmit
}


